Code based on :

https://github.com/matanmazor/ignorance/blob/main/docs/hangman.Rmd

Load csv

Format Data

Make a dataframe for later use with all of the relevant information merged from the two dataframes above

Correlation

Merge

Correlation between word speed and position

A Pearson’s product-moment correlation was conducted to examine the relationship between mean position and mean speed. The analysis revealed a positive correlation between these variables, though the relationship was not statistically significant, r(7)=0.53, p=.14. The 95% confidence interval for the correlation ranged from −0.20 to 0.88, suggesting uncertainty about the true strength of the relationship.

BY SUBJ_ID

t is time. Want to look at the correlation between speed of game and predicted score given So will end up with 200 values, each one is a correlation per subject (correlation of ther 5 games)

A one-sample t-test revealed a significant positive mean correlation between speed and the measured variable, t(197)=10.32,p<.001. The 95% confidence interval for the mean correlation ranged from 0.28 to 0.41, with a sample mean of M=0.34. This suggests a robust positive relationship.

Make a dataframe for revealed and for hidden

A one-sample t-test indicated a significant positive mean correlation between speed and the measured variable in the revealed condition, t(99)=5.74,p<.001. The 95% confidence interval for the mean correlation was [0.18, 0.38], with a sample mean of M=0.28. This suggests a moderate positive relationship.

A one-sample t-test revealed a significant positive mean correlation between speed and the measured variable in the hidden condition, t(97)=9.19,p<.001. The 95% confidence interval for the mean correlation was [0.32, 0.49], with a sample mean of M=0.40. This indicates a strong positive relationship.

Combine datasets

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpDb2RlIGJhc2VkIG9uIDogDQoNCmh0dHBzOi8vZ2l0aHViLmNvbS9tYXRhbm1hem9yL2lnbm9yYW5jZS9ibG9iL21haW4vZG9jcy9oYW5nbWFuLlJtZA0KDQpgYGB7cn0NCmxpYnJhcnkoZ3JvdW5kaG9nKQ0KDQpncm91bmRob2cubGlicmFyeShjKA0KICAncG5nJywNCiAgJ2dyaWQnLA0KICAnZ2dwbG90MicsDQogICdzdmdsaXRlJywNCiAgJ3h0YWJsZScsDQogICdwYXBhamEnLA0KICAndGlkeXZlcnNlJywNCiAgJ2Jyb29tJywNCiAgJ2Nvd3Bsb3QnLA0KICAncmV0aWN1bGF0ZScsDQogICdNRVNTJywgIyBmb3IgQVVDcw0KICAnbHNyJywgIyBmb3IgZWZmZWN0IHNpemVzDQogICdwd3InLCAjIGZvciBwb3dlciBjYWxjdWxhdGlvbnMNCiAgJ2JybXMnLCAjIGZvciBtaXhlZCBlZmZlY3RzIG1vZGVsaW5nDQogICdCYXllc0ZhY3RvcicsICMgZm9yIEJheWVzaWFuIHQgdGVzdA0KICAnanNvbmxpdGUnLCAjIHBhcnNpbmcgZGF0YSBmcm9tIHNvcnRfdHJpYWwNCiAgJ2NhcmV0JywgI2ZvciBjcm9zcyB2YWxpZGF0aW9uDQogICdnZ3JlcGVsJywgI2ZvciBnZ3Bsb3Qgd29yZHMNCiAgJ2NhcmV0JywgI2ZvciBjcm9zcyB2YWxpZGF0aW9uDQogICdrZXJubGFiJyAjZm9yIFNWTQ0KKSwgJzIwMjQtMDQtMDknKQ0KYGBgDQoNCg0KTG9hZCBjc3YgDQoNCmBgYHtyfQ0Kc3BlZWQuZGYgPC0gcmVhZC5jc3YoJ2NvbWJpbmVkX2RhdGFfc3BlZWQuY3N2JyxuYS5zdHJpbmdzPWMoIiIsIiAiLCJOQSIpKSAlPiUNCiAgcmVuYW1lKHN1YmpfaWQgPSBQUk9MSUZJQ19QSUQpICU+JQ0KICAgZmlsdGVyKCEod29yZCAlaW4lIGMoJycsICdaRUJSQScpKSkgJT4lDQogIG11dGF0ZShzdWJqX2lkID0gZmFjdG9yKHN1YmpfaWQpKQ0Kc3BlZWQuZGYNCmBgYA0KDQpGb3JtYXQgRGF0YSANCg0KYGBge3J9DQpwb3NpdGlvbl9kZiA8LSBzcGVlZC5kZiAlPiUNCiAgZmlsdGVyKHRyaWFsX3R5cGU9PSAnR3Vlc3NfbGVhZGVyYm9hcmQnKSAlPiUNCiAgZHBseXI6OnNlbGVjdChzdWJqX2lkLCBzdWJqZWN0X3BhaXIsIHdvcmQsIHBvc2l0aW9uKQ0KcG9zaXRpb25fZGYNCmBgYA0KDQoNCmBgYHtyfQ0KDQpzcGVlZC5jbGlja19kZiA8LSBzcGVlZC5kZiAlPiUNCiBmaWx0ZXIodHJpYWxfdHlwZT09J0hhbmdtYW5fcmVwbGF5JykgJT4lDQogIGRwbHlyOjpzZWxlY3Qoc3Vial9pZCwgc3ViamVjdF9wYWlyLA0KICAgICAgICAgcmV2ZWFsX3dvcmQsIA0KICAgICAgICAgd29yZCwNCiAgICAgICAgIG51bV9jbGlja3MsDQogICAgICAgICBjbGlja19sb2cpIA0Kc3BlZWQuY2xpY2tfZGYNCmBgYA0KDQpNYWtlIGEgZGF0YWZyYW1lIGZvciBsYXRlciB1c2Ugd2l0aCBhbGwgb2YgdGhlIHJlbGV2YW50IGluZm9ybWF0aW9uIG1lcmdlZCBmcm9tIHRoZSB0d28gZGF0YWZyYW1lcyBhYm92ZQ0KDQpgYGB7cn0NCnNwZWVkLnJlbGV2YW50LmRmIDwtIHNwZWVkLmNsaWNrX2RmICU+JQ0KICBtZXJnZShwb3NpdGlvbl9kZikgDQpzcGVlZC5yZWxldmFudC5kZg0KYGBgDQoNCg0KYGBge3J9DQpzcGVlZC5jbGlja19kZiA8LSBzcGVlZC5jbGlja19kZiAlPiUNCiAgcm93d2lzZSgpJT4lDQogIG11dGF0ZShudW1faGl0cyA9IHN0cnNwbGl0KGdzdWIoJyAnLCcnLHdvcmQpLHNwbGl0PScnKVtbMV1dJT4ldW5pcXVlKCklPiVsZW5ndGgoKSwNCiAgICAgICAgIGNsaWNrX2xvZyA9IGdzdWIoIlwnIiwiXCIiLCBjbGlja19sb2cpLA0KICAgICAgICAgY2xpY2tfbG9nID0gZ3N1YigiTm9uZSIsIm51bGwiLCBjbGlja19sb2cpLA0KICAgICAgICAgd29yZCA9IGZhY3Rvcih3b3JkLGxldmVscz1jKA0KICAgICAgICAgICAnS0VOVFVDS1knLA0KICAgICAgICAgICAnSEFXQUlJJywNCiAgICAgICAgICAgJ1VTQUlOIEJPTFQnLA0KICAgICAgICAgICAnU0hBS0lSQScsDQogICAgICAgICAgICdGSUcnLA0KICAgICAgICAgICAnTkVDVEFSSU5FJywNCiAgICAgICAgICAgJ1dSSVNUJywNCiAgICAgICAgICAgJ1RIVU1CJywNCiAgICAgICAgICAgJ1RISVJUWSBGT1VSJw0KICAgICAgICAgKSkpIA0Kc3BlZWQuY2xpY2tfZGYNCmBgYA0KDQoNCmBgYHtyfQ0KDQpzcGVlZC5jbGlja19sb2cgPC0gZGF0YS5mcmFtZShtYXRyaXgobmNvbD05LG5yb3c9MCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGltbmFtZXM9bGlzdChOVUxMLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMoInN1YmpfaWQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X3BhcnQiLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid29yZCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm51bV9jbGlja3MiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsZXR0ZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoaXQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmV2ZWFsX3dvcmQiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjbGlja19udW1iZXIiKSkpKQ0KDQoNCmZvciAocm93IGluIDE6bnJvdyhzcGVlZC5jbGlja19kZikpIHsNCiAgDQogICAgc3ViamVjdF9jbGlja19sb2cgPC0gZGF0YS5mcmFtZShmcm9tSlNPTihzcGVlZC5jbGlja19kZltyb3csIF0kY2xpY2tfbG9nKSkgJT4lDQogICAgbXV0YXRlKA0KICAgICAgbGV0dGVyID0gbGVhZChsZXR0ZXIsMSksDQogICAgICB0ID0gbGVhZCh0LDEpLA0KICAgICAgaGl0ID0gbGVhZChoaXQsMSksDQogICAgICBjbGlja19udW1iZXIgPSAxOm4oKSwNCiAgICAgIHN1YmpfaWQgPSBzcGVlZC5jbGlja19kZltyb3csIF0kc3Vial9pZCwNCiAgICAgIHdvcmQgPSBzcGVlZC5jbGlja19kZltyb3csIF0kd29yZCwNCiAgICAgIHJldmVhbF93b3JkID0gc3BlZWQuY2xpY2tfZGZbcm93LCBdJHJldmVhbF93b3JkLA0KICAgICAgbnVtX2NsaWNrcyA9IHNwZWVkLmNsaWNrX2RmW3JvdywgXSRudW1fY2xpY2tzDQogICAgKSU+JQ0KICAgICAgZmlsdGVyKGNsaWNrX251bWJlcjw9bnVtX2NsaWNrcykNCiAgICANCiAgICBzcGVlZC5jbGlja19sb2cgPC0gcmJpbmQoc3BlZWQuY2xpY2tfbG9nLCBzdWJqZWN0X2NsaWNrX2xvZyk7DQp9DQogICAgDQoNCnNwZWVkLmNsaWNrX2xvZyA8LSBzcGVlZC5jbGlja19sb2cgJT4lDQogIHJlbG9jYXRlKHN1YmpfaWQsIC5iZWZvcmUgPSBsZXR0ZXIpICU+JQ0KICByZWxvY2F0ZSh3b3JkLCAuYmVmb3JlPWxldHRlcikgJT4lIA0KICByZWxvY2F0ZShyZXZlYWxfd29yZCwgLmJlZm9yZT1sZXR0ZXIpICU+JSANCiAgcmVsb2NhdGUoY2xpY2tfbnVtYmVyLCAuYmVmb3JlPWxldHRlcikgJT4lDQogIGdyb3VwX2J5KHN1YmpfaWQsd29yZCkgJT4lDQogIG11dGF0ZShSVD10LWxhZyh0LGRlZmF1bHQ9MCkpICU+JQ0KICBncm91cF9ieShzdWJqX2lkLHdvcmQpICU+JQ0KICByb3d3aXNlKCkNCg0Kc3BlZWQuY2xpY2tfbG9nDQpgYGANCg0KDQpgYGB7cn0NCnNwZWVkLnRvdGFsX3RpbWVfZGYgPC0gc3BlZWQuY2xpY2tfbG9nICU+JQ0KIGZpbHRlcihjbGlja19udW1iZXI9PW51bV9jbGlja3MpJT4lDQogIG11dGF0ZSh0PXQvMTAwMCkNCnNwZWVkLnRvdGFsX3RpbWVfZGYNCmBgYA0KDQpgYGB7cn0NCnNwZWVkLnRpbWUud29yZC5zdWJqLmRmIDwtIHNwZWVkLnRvdGFsX3RpbWVfZGYgJT4lDQogIHNlbGVjdChzdWJqX2lkLCB3b3JkLCB0KQ0Kc3BlZWQudGltZS53b3JkLnN1YmouZGYNCmBgYA0KDQpgYGB7cn0NCndyaXRlLmNzdihzcGVlZC50aW1lLndvcmQuc3Viai5kZiwgZmlsZSA9ICJzcGVlZC50aW1lLndvcmQuY3N2IikNCmBgYA0KDQpgYGB7cn0NCnBsb3RTcGVlZCA8LSBzcGVlZC50b3RhbF90aW1lX2RmICU+JQ0KICBnZ3Bsb3QoYWVzKHg9d29yZCx5PXQpKSArDQogIGdlb21fYm94cGxvdCgpICsNCiAgc2NhbGVfeV9jb250aW51b3VzKGxpbWl0cz1jKDAsMTAwKSkNCnBsb3RTcGVlZA0KYGBgDQoNCkNvcnJlbGF0aW9uIA0KDQpgYGB7cn0NCnNwZWVkX2NvbXBsZXRlLmRmIDwtIHNwZWVkLnRvdGFsX3RpbWVfZGYgJT4lDQogIG1lcmdlKHNwZWVkLnJlbGV2YW50LmRmKQ0Kc3BlZWRfY29tcGxldGUuZGYNCmBgYA0KDQpgYGB7cn0NCm1lYW5fc3BlZWRfZGYgPC0gc3BlZWRfY29tcGxldGUuZGYgJT4lDQogIGdyb3VwX2J5KHdvcmQpICU+JQ0KIHN1bW1hcml6ZShtZWFuX3NwZWVkID0gbWVhbih0KSkNCm1lYW5fc3BlZWRfZGYNCmBgYA0KIA0KYGBge3J9DQptZWFuX3Bvc2l0aW9uX2RmIDwtIHNwZWVkX2NvbXBsZXRlLmRmICU+JQ0KICBncm91cF9ieSh3b3JkKSAlPiUNCiAgc3VtbWFyaXplKG1lYW5fcG9zaXRpb24gPSBtZWFuKHBvc2l0aW9uKSkgDQptZWFuX3Bvc2l0aW9uX2RmDQpgYGANCk1lcmdlIA0KDQpgYGB7cn0NCm1lYW5fc3BlZWRfcG9zaXRpb25fZGYgPC0gbWVhbl9wb3NpdGlvbl9kZiAlPiUNCiAgbWVyZ2UobWVhbl9zcGVlZF9kZikgDQptZWFuX3NwZWVkX3Bvc2l0aW9uX2RmDQpgYGANCg0KDQpDb3JyZWxhdGlvbiBiZXR3ZWVuIHdvcmQgc3BlZWQgYW5kIHBvc2l0aW9uIA0KDQpgYGB7cn0NCmNvcnJlbGF0aW9uX3NwZWVkX3BvcyA8LSBjb3IudGVzdChtZWFuX3NwZWVkX3Bvc2l0aW9uX2RmJG1lYW5fcG9zaXRpb24sIG1lYW5fc3BlZWRfcG9zaXRpb25fZGYkbWVhbl9zcGVlZCkNCmNvcnJlbGF0aW9uX3NwZWVkX3Bvcw0KYGBgDQoNCkEgUGVhcnNvbidzIHByb2R1Y3QtbW9tZW50IGNvcnJlbGF0aW9uIHdhcyBjb25kdWN0ZWQgdG8gZXhhbWluZSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gbWVhbiBwb3NpdGlvbiBhbmQgbWVhbiBzcGVlZC4gVGhlIGFuYWx5c2lzIHJldmVhbGVkIGEgcG9zaXRpdmUgY29ycmVsYXRpb24gYmV0d2VlbiB0aGVzZSB2YXJpYWJsZXMsIHRob3VnaCB0aGUgcmVsYXRpb25zaGlwIHdhcyBub3Qgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCwgcig3KT0wLjUzLCBwPS4xNC4gVGhlIDk1JSBjb25maWRlbmNlIGludGVydmFsIGZvciB0aGUgY29ycmVsYXRpb24gcmFuZ2VkIGZyb20g4oiSMC4yMCB0byAwLjg4LCBzdWdnZXN0aW5nIHVuY2VydGFpbnR5IGFib3V0IHRoZSB0cnVlIHN0cmVuZ3RoIG9mIHRoZSByZWxhdGlvbnNoaXAuDQoNCg0KDQoNCmBgYHtyfQ0Kc3BlZWRfc3BsaXQuZGYgPC0gc3BlZWQudG90YWxfdGltZV9kZiAlPiUNCiAgbWVyZ2Uoc3BlZWQuZGYpICU+JQ0KICAgc3ByZWFkKHJldmVhbF93b3JkLHQpDQpzcGVlZF9zcGxpdC5kZg0KYGBgDQoNCmBgYHtyfQ0Kc3BlZWRfc3BsaXQuZGYgPC0gc3BlZWRfc3BsaXQuZGYgJT4lDQogIHJlbmFtZSgNCiAgICBoaWRkZW4gPSBgRmFsc2VgLA0KICAgIHJldmVhbGVkID0gYFRydWVgDQogICkNCnNwZWVkX3NwbGl0LmRmDQpgYGANCg0KYGBge3J9DQpzcGVlZF9zcGxpdF9wYWlyLmRmIDwtIHNwZWVkX3NwbGl0LmRmICU+JQ0KICBhcnJhbmdlKHN1YmplY3RfcGFpcikgJT4lICAjIEFycmFuZ2UgZGF0YSBieSBzdWJqZWN0X3BhaXINCiAgc2VsZWN0KC1zdWJqX2lkKSANCnNwZWVkX3NwbGl0X3BhaXIuZGYNCmBgYA0KDQoNCg0KDQpCWSBTVUJKX0lEDQoNCnQgaXMgdGltZS4gV2FudCB0byBsb29rIGF0IHRoZSBjb3JyZWxhdGlvbiBiZXR3ZWVuIHNwZWVkIG9mIGdhbWUgYW5kIHByZWRpY3RlZCBzY29yZSBnaXZlbiANClNvIHdpbGwgZW5kIHVwIHdpdGggMjAwIHZhbHVlcywgZWFjaCBvbmUgaXMgYSBjb3JyZWxhdGlvbiBwZXIgc3ViamVjdCAoY29ycmVsYXRpb24gb2YgdGhlciA1IGdhbWVzKQ0KDQpgYGB7cn0NCnNwZWVkX2NvbXBsZXRlLmRmDQpgYGANCg0KDQpgYGB7cn0NCiNEZWZpbmUgYSBmdW5jdGlvbiB0byBjYWxjdWxhdGUgY29ycmVsYXRpb24gZm9yIGVhY2ggcGFydGljaXBhbnQNCmNhbGNfY29ycmVsYXRpb24gPC0gZnVuY3Rpb24oZGF0YSkgew0KICBjb3IoZGF0YSR0LCBkYXRhJHBvc2l0aW9uLCB1c2UgPSAiY29tcGxldGUub2JzIikNCn0NCmBgYA0KDQoNCmBgYHtyfQ0KI0FwcGx5IHRoZSBmdW5jdGlvbiB0byBlYWNoIHBhcnRpY2lwYW50DQpjb3JyZWxhdGlvbl9zcGVlZCA8LSBzcGVlZF9jb21wbGV0ZS5kZiAlPiUNCiAgZ3JvdXBfYnkoc3Vial9pZCkgJT4lDQogIHN1bW1hcmlzZShjb3JyZWxhdGlvbiA9IGNhbGNfY29ycmVsYXRpb24oY3VyX2RhdGEoKSkpDQpjb3JyZWxhdGlvbl9zcGVlZA0KYGBgDQoNCmBgYHtyfQ0KIyBQZXJmb3JtIGEgb25lLXNhbXBsZSB0LXRlc3QgdG8gc2VlIGlmIHRoZSBtZWFuIGNvcnJlbGF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIDANCnRfdGVzdF9wb3AgPC0gdC50ZXN0KGNvcnJlbGF0aW9uX3NwZWVkJGNvcnJlbGF0aW9uLCBtdSA9IDApDQp0X3Rlc3RfcG9wDQpgYGANCg0KQSBvbmUtc2FtcGxlIHQtdGVzdCByZXZlYWxlZCBhIHNpZ25pZmljYW50IHBvc2l0aXZlIG1lYW4gY29ycmVsYXRpb24gYmV0d2VlbiBzcGVlZCBhbmQgdGhlIG1lYXN1cmVkIHZhcmlhYmxlLCB0KDE5Nyk9MTAuMzIscDwuMDAxLiBUaGUgOTUlIGNvbmZpZGVuY2UgaW50ZXJ2YWwgZm9yIHRoZSBtZWFuIGNvcnJlbGF0aW9uIHJhbmdlZCBmcm9tIDAuMjggdG8gMC40MSwgd2l0aCBhIHNhbXBsZSBtZWFuIG9mIE09MC4zNC4gVGhpcyBzdWdnZXN0cyBhIHJvYnVzdCBwb3NpdGl2ZSByZWxhdGlvbnNoaXAuDQoNCg0KTWFrZSBhIGRhdGFmcmFtZSBmb3IgcmV2ZWFsZWQgYW5kIGZvciBoaWRkZW4gDQoNCmBgYHtyfQ0KcmV2ZWFsZWRfc3BlZWQuZGYgPC0gc3BlZWRfY29tcGxldGUuZGYgJT4lIGZpbHRlcihyZXZlYWxfd29yZCA9PSAiVHJ1ZSIpDQpoaWRkZW5fc3BlZWQuZGYgPC0gc3BlZWRfY29tcGxldGUuZGYgJT4lIGZpbHRlcihyZXZlYWxfd29yZCA9PSAiRmFsc2UiKQ0KYGBgDQoNCmBgYHtyfQ0KcmV2ZWFsZWRfc3BlZWQuZGYNCmhpZGRlbl9zcGVlZC5kZg0KYGBgDQoNCg0KYGBge3J9DQojQXBwbHkgdGhlIGZ1bmN0aW9uIHRvIGVhY2ggcGFydGljaXBhbnQNCmNvcnJlbGF0aW9uX3NwZWVkX3JldmVhbGVkIDwtIHJldmVhbGVkX3NwZWVkLmRmICU+JQ0KICBncm91cF9ieShzdWJqX2lkKSAlPiUNCiAgc3VtbWFyaXNlKGNvcnJlbGF0aW9uX3JldmVhbGVkID0gY2FsY19jb3JyZWxhdGlvbihjdXJfZGF0YSgpKSkNCmNvcnJlbGF0aW9uX3NwZWVkX3JldmVhbGVkDQpgYGANCg0KYGBge3J9DQojIFBlcmZvcm0gYSBvbmUtc2FtcGxlIHQtdGVzdCB0byBzZWUgaWYgdGhlIG1lYW4gY29ycmVsYXRpb24gaXMgZGlmZmVyZW50IGZyb20gMA0KdF90ZXN0X3JldmVhbGVkX3NwZWVkIDwtIHQudGVzdChjb3JyZWxhdGlvbl9zcGVlZF9yZXZlYWxlZCRjb3JyZWxhdGlvbl9yZXZlYWxlZCwgbXUgPSAwKQ0KdF90ZXN0X3JldmVhbGVkX3NwZWVkDQpgYGANCg0KQSBvbmUtc2FtcGxlIHQtdGVzdCBpbmRpY2F0ZWQgYSBzaWduaWZpY2FudCBwb3NpdGl2ZSBtZWFuIGNvcnJlbGF0aW9uIGJldHdlZW4gc3BlZWQgYW5kIHRoZSBtZWFzdXJlZCB2YXJpYWJsZSBpbiB0aGUgcmV2ZWFsZWQgY29uZGl0aW9uLCB0KDk5KT01Ljc0LHA8LjAwMS4gVGhlIDk1JSBjb25maWRlbmNlIGludGVydmFsIGZvciB0aGUgbWVhbiBjb3JyZWxhdGlvbiB3YXMgWzAuMTgsIDAuMzhdLCB3aXRoIGEgc2FtcGxlIG1lYW4gb2YgTT0wLjI4LiBUaGlzIHN1Z2dlc3RzIGEgbW9kZXJhdGUgcG9zaXRpdmUgcmVsYXRpb25zaGlwLg0KDQoNCmBgYHtyfQ0KI0FwcGx5IHRoZSBmdW5jdGlvbiB0byBlYWNoIHBhcnRpY2lwYW50DQpjb3JyZWxhdGlvbl9zcGVlZF9oaWRkZW4gPC0gaGlkZGVuX3NwZWVkLmRmICU+JQ0KICBncm91cF9ieShzdWJqX2lkKSAlPiUNCiAgc3VtbWFyaXNlKGNvcnJlbGF0aW9uX2hpZGRlbiA9IGNhbGNfY29ycmVsYXRpb24oY3VyX2RhdGEoKSkpDQpjb3JyZWxhdGlvbl9zcGVlZF9oaWRkZW4NCmBgYA0KDQpgYGB7cn0NCiMgUGVyZm9ybSBhIG9uZS1zYW1wbGUgdC10ZXN0IHRvIHNlZSBpZiB0aGUgbWVhbiBjb3JyZWxhdGlvbiBpcyBkaWZmZXJlbnQgZnJvbSAwDQp0X3Rlc3RfaGlkZGVuX3NwZWVkIDwtIHQudGVzdChjb3JyZWxhdGlvbl9zcGVlZF9oaWRkZW4kY29ycmVsYXRpb25faGlkZGVuLCBtdSA9IDApDQp0X3Rlc3RfaGlkZGVuX3NwZWVkDQpgYGANCg0KQSBvbmUtc2FtcGxlIHQtdGVzdCByZXZlYWxlZCBhIHNpZ25pZmljYW50IHBvc2l0aXZlIG1lYW4gY29ycmVsYXRpb24gYmV0d2VlbiBzcGVlZCBhbmQgdGhlIG1lYXN1cmVkIHZhcmlhYmxlIGluIHRoZSBoaWRkZW4gY29uZGl0aW9uLCB0KDk3KT05LjE5LHA8LjAwMS4gVGhlIDk1JSBjb25maWRlbmNlIGludGVydmFsIGZvciB0aGUgbWVhbiBjb3JyZWxhdGlvbiB3YXMgWzAuMzIsIDAuNDldLCB3aXRoIGEgc2FtcGxlIG1lYW4gb2YgTT0wLjQwLiBUaGlzIGluZGljYXRlcyBhIHN0cm9uZyBwb3NpdGl2ZSByZWxhdGlvbnNoaXAuDQoNCkNvbWJpbmUgZGF0YXNldHMgDQoNCmBgYHtyfQ0KdF90ZXN0X3Jlc3VsdCA8LSB0LnRlc3QoY29ycmVsYXRpb25fc3BlZWRfaGlkZGVuJGNvcnJlbGF0aW9uX2hpZGRlbiwgY29ycmVsYXRpb25fc3BlZWRfcmV2ZWFsZWQkY29ycmVsYXRpb25fcmV2ZWFsZWQsIHZhci5lcXVhbCA9IFRSVUUpDQp0X3Rlc3RfcmVzdWx0DQpgYGANCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K